// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	1/6/2015 1:34:13 AM				
// -----------------------------

#ifndef _LFOFilter_h
#define _LFOFilter_h

#include "SoundFilter.h"

class Oscillator;

class LFOFilter : public SoundFilter
{
public:

	Float			Frequency;
	Float			Amplitude;
	UInt32			Harmonics;
	Float			Strength;

	LFOFilter(SoundWaveType type);
	virtual ~LFOFilter();

	virtual void	Apply(Float leftChannelIn, Float rightChannelIn, Float t, Float* lpLeftChannelOut, Float* lpRightChannelOut) const;
	virtual void	Reset();

private:

	Oscillator*		m_lpOscillator;

	LFOFilter(const LFOFilter& refLFOFilter);
	LFOFilter& operator=(const LFOFilter& refLFOFilter);
};

#endif